//package com.kiragame.xchat.fragment;
//
//import java.util.ArrayList;
//import java.util.List;
//
//import android.content.Intent;
//import android.os.Bundle;
//import android.support.v4.app.Fragment;
//import android.view.LayoutInflater;
//import android.view.View;
//import android.view.ViewGroup;
//import android.widget.AdapterView;
//import android.widget.AdapterView.OnItemClickListener;
//
//import com.kiragame.xchat.ChatActivity;
//import com.kiragame.xchat.R;
//import com.kiragame.xchat.adapter.HistoryMessageAdapter;
//import com.kiragame.xchat.database.MessagesDataManager;
//import com.kiragame.xchat.object.HistoryMessage;
//import com.kiragame.xchat.object.MessageContent;
//import com.kiragame.xchat.utils.KiraGameLog;
//import com.quentindommerc.superlistview.SuperListview;
//
//public class MessageFragment extends Fragment {
//
//	private SuperListview lvMessages;
//	private List<HistoryMessage> historyMessageData = new ArrayList<HistoryMessage>();
//	private HistoryMessageAdapter historyMessageAdapter;
//
//	public static MessageFragment newInstance() {
//		MessageFragment f = new MessageFragment();
//		// Bundle b = new Bundle();
//		// b.putInt(ARG_POSITION, position);
//		// f.setArguments(b);
//		return f;
//	}
//
//	@Override
//	public void onCreate(Bundle savedInstanceState) {
//		super.onCreate(savedInstanceState);
//
//	}
//
//	@Override
//	public View onCreateView(LayoutInflater inflater, ViewGroup container,
//			Bundle savedInstanceState) {
//		View view = inflater.inflate(R.layout.fragment_messages, container,
//				false);
//		findViewIds(view);
//		init();
//		setEvent();
//		return view;
//	}
//
//	private void init() {
//		historyMessageAdapter = new HistoryMessageAdapter(getActivity(),
//				historyMessageData);
//		lvMessages.setAdapter(historyMessageAdapter);
//		loadMessageFromDatabase();
//		KiraGameLog.d("Messages setup finished!");
//	}
//
//	private void setEvent() {
//		lvMessages.setOnItemClickListener(new OnItemClickListener() {
//
//			@Override
//			public void onItemClick(AdapterView<?> parent, View view,
//					int position, long id) {
//				HistoryMessage historyMessage = (HistoryMessage) parent
//						.getAdapter().getItem(position);
//				chatToUser(Integer.toString(historyMessage.getMessageContent()
//						.getFromUserID()));
//			}
//		});
//	}
//
//	private void findViewIds(View view) {
//		lvMessages = (SuperListview) view.findViewById(R.id.lv_messages);
//	}
//
//	protected void chatToUser(String userID) {
//		Intent intent = new Intent(getActivity(), ChatActivity.class);
//		intent.putExtra(ChatActivity.TO_USER, userID);
//		startActivity(intent);
//	}
//
//	private void loadMessageFromDatabase() {
//		historyMessageData.clear();
//		historyMessageData.addAll(MessagesDataManager
//				.getInstance(getActivity()).getAllHistoryMessages(0, 10));
//		historyMessageAdapter.notifyDataSetChanged();
//	}
//
//	public void updateListMessage(String message) {
//		MessageContent msg = MessageContent.fromJsonToMessageContent(message);
//		// boolean isExist = false;
//		if (message != null) {
//			for (HistoryMessage historyMessage : historyMessageData) {
//				if (historyMessage.getMessageContent().getFromUserID()
//						.equals(msg.getFromUserID())) {
//					// exist ->update
//					int num = historyMessage.getUnreadNum() + 1;
//					historyMessage.setMessageContent(msg);
//					historyMessage.setUnreadNum(num);
//					historyMessageAdapter.notifyDataSetChanged();
//					MessagesDataManager
//							.getInstance(getActivity())
//							.updateHistoryMessage(msg.getFromUserID(), msg, num);
//					return;
//				}
//			}
//			// not exist insert new
//			HistoryMessage historyMessage = new HistoryMessage();
//			historyMessage.setMessageContent(msg);
//			historyMessage.setUnreadNum(1);
//			historyMessageData.add(historyMessage);
//			historyMessageAdapter.notifyDataSetChanged();
//			MessagesDataManager.getInstance(getActivity())
//					.insertHistoryMessage(msg.getFromUserID(), msg, 1);
//		}
//
//	}
//}
